An operating system is a collection of software that manages device hardware resources and provides common services for computer programs. The operating system is a vital component of the system software in a device. Application programs usually require an operating system to function.
Interrupts are part of an operating system, as the interrupt provides for the operating system to interact with and react to its environment. When an interrupt is received, the device suspends the program(s) that are currently executing, saves the status of each program, and runs computer code associated with the interrupt. In a modern operating system, the kernel of the operating system handles interrupts. Interrupts may come from either the device's hardware or from a running program.
A processor idle state is a low power mode for a computing device that contains at least one processor. When a computing device enters the processor idle state, the processor clock is inactive so that the processor cannot execute instructions, and at least parts of the processor are powered down. This enables the computing device to operate at a reduced power level.
The operating system uses a time-driven interrupt, called a timer, to trigger periodic activity. Each timer generates an interrupt that is handled by the operating system. The number of interrupts generated by the operating system generally increases as the device runs more application programs and as these application programs utilize more device hardware resources. Consequently, the device will be interrupted more frequently and have fewer opportunities to enter or remain in a sleep mode, a processor idle state, or another low power mode. Accordingly, techniques for allowing a device to remain in a low power mode for longer periods of time in order to reduce power consumption while still providing timers are desirable.